// pages/recommend/recommend.js
import request from '../../utils/request.js';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    day:'',
    month:'',
    // 存放歌曲的数据
    songLists:[],
  },

  // 根据 传入 data-id 跳转到播放页
  gotoPlayer(e) {
    // currentTarget: 绑定事件函数的元素
    // target : 触发事件的目标元素
    const songId = e.currentTarget.dataset.id;

    wx.navigateTo({
      url: '/pages/player/player?id=' + songId
    })
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {
    // 日期计算
    const d = new Date()
    const day = d.getDate();
    // 切记 一定要加一
    const month = d.getMonth() + 1;
    this.setData({
      day,
      month
    });
    // 请求歌曲列表的数据
    const r = await request('/recommend/songs',{},'GET')
     this.setData({
      songLists:r.data.dailySongs
     })
    console.log('请求歌曲列表的数据',r.data.dailySongs)


    // 监听 player 页面触发的 next，prev 事件，并得到 player 页面正在播放的歌曲的 id，通过该 id 在 songLists 中去查找下一首歌曲的 id，最后再次以事件的方式传递 给 player 页面
    getApp().myEvent.on('next', (songId) => {
      // 查找下一首歌曲的 id
      const currentIndex = this.data.songLists.findIndex(song => song.id == songId);
      const nextId = this.data.songLists[currentIndex + 1]?.id;

      // 发送事件
      getApp().myEvent.emit('nextId', nextId);
    })
    getApp().myEvent.on('ontop', (topid) => {
      // 查找下一首歌曲的 id
      const currentIndex = this.data.songLists.findIndex(song => song.id == topid);
      const Topid = this.data.songLists[currentIndex - 1]?.id;

      // 发送事件
      getApp().myEvent.emit('topid', Topid);
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})